package Internet.Program.TCP;

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;

/**
 * @Author: Jason
 * @ClassName: TCLServerDemo01
 * @Description: 服务端
 * @Package：Internet.Program
 * @Project：javaDemo
 * @name：TCLServerDemo01
 * @Filename：TCLServerDemo01
 **/

public class TCLServerDemo01 {
    //文字传输
//    public static void main(String[] args) {
//        //1、地址
//        ServerSocket serverSocket = null;
//        //2、等待客户端连接过来
//        Socket accept = null;
//        //3、读取客户端的消息
//        InputStream inputStream = null;
//        //管道流
//        ByteArrayOutputStream byteArrayOutputStream = null;
//
//        try {
//            serverSocket = new ServerSocket(9999);
//            accept = serverSocket.accept();
//            inputStream = accept.getInputStream();
//            byteArrayOutputStream = new ByteArrayOutputStream();
//
//            byte[] bytes = new byte[1024];
//            int len;
//            while ((len=inputStream.read(bytes))!=-1){
//                byteArrayOutputStream.write(bytes,0,len);
//            }
//            System.out.println(byteArrayOutputStream.toString());
//
//        } catch (IOException e) {
//            e.printStackTrace();
//        }finally {
//            //关闭资源
//            //管道流关闭
//
//            if (byteArrayOutputStream!=null){
//                try {
//                    byteArrayOutputStream.close();
//                } catch (IOException e) {
//                    e.printStackTrace();
//                }
//            }
//            if (inputStream!=null){
//                try {
//                    inputStream.close();
//                } catch (IOException e) {
//                    e.printStackTrace();
//                }
//            }
//            if (inputStream!=null){
//                try {
//                    accept.close();
//                } catch (IOException e) {
//                    e.printStackTrace();
//                }
//            }
//            if (serverSocket!=null){
//                try {
//                    serverSocket.close();
//                } catch (IOException e) {
//                    e.printStackTrace();
//                }
//            }
//
//
//
//
//        }
//    }

    //上传文件
    public static void main(String[] args) throws Exception{
        //1、创建服务
        ServerSocket serverSocket = new ServerSocket(9999);
        //2.监听客户端连接
        Socket socket = serverSocket.accept();//阻塞式监听，回一致等待客户端连接
        //3、获取输入流
        InputStream inputStream = socket.getInputStream();

        //4、文件输出
        FileOutputStream fileOutputStream = new FileOutputStream(new File("receive.jpeg"));
        byte[] bytes = new byte[1024];
        int len;
        while ((len=inputStream.read(bytes))!=-1){
            fileOutputStream.write(bytes,0,len);
        }


        //通知客户端接收完毕


        //5、关闭资源
        fileOutputStream.close();
        inputStream.close();
        socket.close();
    }
}

